package com.tree.backend.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.tree.backend.entity.dto.OrderQueryDTO;
import com.tree.backend.entity.pojo.DemandOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tree.backend.entity.vo.OrderListVO;
import com.tree.backend.entity.vo.OrderVO;

/**
 * <p>
 * 需求接单表 服务类
 * </p>
 *
 * @author tree
 * @since 2025-11-06
 */
public interface IDemandOrderService extends IService<DemandOrder> {

    /**
     * 获取订单列表
     * @param queryDTO 查询参数
     * @return 订单分页列表
     */
    IPage<OrderListVO> getOrderList(OrderQueryDTO queryDTO);
    
    /**
     * 获取订单详情
     * @param orderId 订单ID
     * @param enterpriseId 企业ID（用于权限验证）
     * @return 订单详情
     */
    OrderVO getOrderDetail(Long orderId, Long enterpriseId);
    
    /**
     * 完成订单
     * @param orderId 订单ID
     * @param enterpriseId 企业ID（用于权限验证）
     */
    void finishOrder(Long orderId, Long enterpriseId);
    
    /**
     * 搜索订单
     * @param queryDTO 搜索参数
     * @return 订单分页列表
     */
    IPage<OrderListVO> searchOrders(OrderQueryDTO queryDTO);
}
